﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using GC2.Bussines.BMSeguridad;
using GC2.Entities.Seguridad;
using GC2.ExceptionHandler;

public partial class Seguridad_CambiarPassword: GenericPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            SetearCultura();
            SetearConexion();
            if (!this.IsPostBack)
            {
                lblConf.Visible = false;
            }
        }
        catch (Exception ex) { ErrorUI(ex); }
    }
    protected void btnCancelar_Click(object sender, EventArgs e)
    {
        try
        {
            Response.Redirect("~/Seguridad/Default.aspx", false);
        }
        catch (Exception ex) { ErrorUI(ex); }
    }
    protected void btnGuardar_Click(object sender, EventArgs e)
    {
        try
        {
            Deshidratar();
        }
        catch (Exception ex) { ErrorUI(ex); }
    }

   
    private void Deshidratar()
    {
        try
        {
            Usuarios usuario = new Usuarios();
            usuario = (Usuarios)Session["UsuarioActual"];
            string sPassAnt = usuario.Password;
            if (txtActual.Text == sPassAnt)
            {
                if (txtPassword.Text != "")
                {
                    if (txtPassword.Text.Length > 5)
                    {
                        usuario.Password = txtPassword.Text;
                        if (txtPassword.Text == txtConf.Text)
                        {
                            lblConf.Visible = false;
                            Guardar(usuario);
                            lblAccion.Text = "Nueva Password Actualizada";
                            if (usuario.Password == sPassAnt)
                            {
                                lblAccion.Text = "Nueva Password igual a la anterior.";
                            }
                        }
                        else
                        {
                            lblConf.Visible = true;
                            lblAccion.Text = "Nueva Password y Confirmación no coinciden";
                        }
                    }
                    else
                    {
                        lblConf.Visible = true;
                        lblAccion.Text = "Nueva Password debe tener al menos 6 caracteres.";
                    }
                }
                else
                {
                    lblConf.Visible = true;
                    lblAccion.Text = "Nueva Password debe tener al menos 6 caracteres.";
                }
               
            }
            else
            {
                lblConf.Visible = true;
                lblAccion.Text = "Password Actual incorrecta.";
            }
            
        }
        catch (Exception ex) { ErrorUI(ex); }
    }

    private void Guardar(Usuarios usuario)
    {
        try
        {
            BMUsuarios bmUsuarios = new BMUsuarios(Connection);
            bmUsuarios.BMUsuarioUpdate(usuario);
        }
        catch (Exception ex) { ErrorUI(ex); }
    }
}
